Conditional display of hyperlinks in a video

ABSTRACT

Systems and methods are provided for dynamically displaying hyperlinks in a video based on various factors associated with a device at which the video is played and/or a user of the device. In one or more aspects, a system includes a request component configured to receive a request to play a video hosted by a media provider. The system further includes a selection component configured to select a subset of links included in a set of links associated with the video to provide with the video when it is played in response to the request based in part on a number of links included in the set of links, wherein graphical elements respectively representative of the links included in the subset of links are configured to be displayed over the video when the video is played in response to the request.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.14/081,745, filed Nov. 15, 2013, which claims the benefit of U.S.Provisional Application No. 61/862,941, filed Aug. 6, 2013, which areincorporated herein by reference in their entireties.

TECHNICAL FIELD

This application generally relates to systems and methods for displayingone or more hyperlinks in a video based on various factors associatedwith a device at which the video is played and a user of the device.

BACKGROUND

Videos streamed to users over a network (e.g., the Internet) are oftenpresented with several clickable links integrated therein that areconfigured to be displayed on or within image data of the video. Forexample, a video advertisement may include links to websites with moreinformation about items marketed in the video advertisement, links toshare the video advertisement on a social network profile page of theviewer, links to email the video advertisement to a friend, links topurchase items marketed in the video advertisement, etc. However, linksprovided with a video for display with the video are generally fixed anddo not adapt to account for preferences of a current viewer andrestrictions of a device at which the video is to be played.

BRIEF DESCRIPTION OF THE DRAWINGS

Numerous aspects, embodiments, objects and advantages of the presentinvention will be apparent upon consideration of the following detaileddescription, taken in conjunction with the accompanying drawings, inwhich like reference characters refer to like parts throughout, and inwhich:

FIG. 1 illustrates an example system for dynamically displayinghyperlinks in a video based on various factors associated with a deviceat which the video is played and a user of the device, in accordancewith various aspects and embodiments described herein;

FIG. 2 presents an example user interface displaying a video withoverlaid links that are selected based in part on various factorsassociated with a user of the device at which the video is displayed, inaccordance with various aspects and embodiments described herein;

FIG. 3 presents another example user interface displaying a video withoverlaid links that are selected based in part on various factorsassociated with a user of the device at which the video is displayed, inaccordance with various aspects and embodiments described herein;

FIG. 4 presents an example user interface displaying a video withoverlaid links that are selected video based in part on various factorsassociated with a user of the device at which the video is displayed anddimensions of a display screen of the device, in accordance with variousaspects and embodiments described herein;

FIGS. 5A and 5B present an example user interface displaying a videowith overlaid links that are selected video based in part on variousfactors associated with a user of the device at which the video isdisplayed and dimensions of a display screen of the device, inaccordance with various aspects and embodiments described herein;

FIG. 6 illustrates another example system for dynamically displayinghyperlinks in a video based on various factors associated with a deviceat which the video is played and a user of the device, in accordancewith various aspects and embodiments described herein;

FIG. 7 is a flow diagram of another example method for generating a setof links associated with a video in response to a request to play thevideo, in accordance with various aspects and embodiments describedherein;

FIG. 8 illustrates another example system for dynamically displayinghyperlinks in a video based on various factors associated with a deviceat which the video is played and a user of the device, in accordancewith various aspects and embodiments described herein;

FIG. 9 illustrates another example system for dynamically displayinghyperlinks in a video based on various factors associated with a deviceat which the video is played and a user of the device, in accordancewith various aspects and embodiments described herein;

FIG. 10 illustrates another example system for dynamically displayinghyperlinks in a video based on various factors associated with a deviceat which the video is played and a user of the device, in accordancewith various aspects and embodiments described herein;

FIG. 11 illustrates another example system for dynamically displayinghyperlinks in a video based on various factors associated with a deviceat which the video is played and a user of the device, in accordancewith various aspects and embodiments described herein;

FIG. 12 presents a flow diagram of an example method for dynamicallydisplaying hyperlinks in a video based on various factors associatedwith a device at which the video is played and a user of the device, inaccordance with various aspects and embodiments described herein;

FIG. 13 presents a flow diagram of another example method fordynamically displaying hyperlinks in a video based on various factorsassociated with a device at which the video is played and a user of thedevice, in accordance with various aspects and embodiments describedherein;

FIG. 14 presents a flow diagram of another example method for generatinga set of links associated with a video in response to a request to playthe video, in accordance with various aspects and embodiments describedherein;

FIG. 15 is a schematic block diagram illustrating a suitable operatingenvironment in accordance with various aspects and embodiments.

FIG. 16 is a schematic block diagram of a sample-computing environmentin accordance with various aspects and embodiments.

DETAILED DESCRIPTION

The innovation is described with reference to the drawings, wherein likereference numerals are used to refer to like elements throughout. In thefollowing description, for purposes of explanation, numerous specificdetails are set forth in order to provide a thorough understanding ofthis innovation. It may be evident, however, that the innovation can bepracticed without these specific details. In other instances, well-knownstructures and components are shown in block diagram form in order tofacilitate describing the innovation.

By way of introduction, the subject matter described in this disclosurerelates to systems and methods for dynamically selecting a subset ofhyperlinks for displaying over a video based on various factorsassociated with a device at which the video is played and/or a user ofthe device. The subset of hyperlinks are selected from a set ofhyperlinks including links pre-associated with the video and linksdynamically generated based in part on factors associated with the user(e.g., user preferences, user location, user sharing history, etc.). Asdescribed herein, reference to display of a link or hyperlink with orover a video refers to integration of a graphical element or iconrepresentative of the link or hyperlink over (e.g., as an overlay) orwithin image data of the video within the dimensions of the display area(e.g., video player) in which the video is played.

For example, when a video is provided to a media sharing system, theprovider of the video can include a set of hyperlinks the provider ofthe video would like to be displayed over video each time the video isplayed. However, each of these pre-associated links may not beappropriate for displaying over the video each time it is played basedon various reasons, including but not limited to, size of a displayscreen at which the video will be played (e.g., each of the links maynot fit over the video when displayed on relatively small displayscreen) and preferences of the user who selected the video for playing.For example, a link provided with the video for sharing the video on asocial network the viewing user does not belong should not takeprecedence over a link to a social network the user visits daily,especially when only a subset of provided links can fit over the videobased on a size of the display screen of the device at which the videowill be played.

In an aspect, in response to selection of a video provided by astreaming media, a dynamic link integration platform associated with thestreaming media provider can analyze preferences of the user and/orhardware and software capabilities of the device at which the video isto be played (e.g., the device from which the user initiated theselection of the video). Based on its analysis, the dynamic linkintegration platform can examine a set of links stored in memoryaccessible to the dynamic link integration platform and determine orinfer a subset of the links to display over the video when the video isplayed. The subset of links will be tailored to the particular userand/or the device of the user. For example, the subset of links caninclude sharing links that facilitate sharing the video on socialnetworks the user generally shares information on. In another example,the subset of links can include links for sources associated with acurrent location of the device. In another example, the number of linksincluded in the subset of links can be a function of the size of thedisplay area in which the video will be presented.

With the subject method, different users can view the same video and thesubsets of links displayed over the video will vary depending onpreferences of the respective users. In addition, a single user can viewa same video on different devices and the subset of links displayed overthe video will vary based on dimensions of the display screens of therespective devices.

In one or more aspects, a system is provided that includes a requestcomponent configured to receive a request to play a video hosted by amedia provider. The system further includes a selection componentconfigured to select a subset of links included in a set of linksassociated with the video to provide with the video when it is played inresponse to the request based in part on a number of links included inthe set of links, wherein graphical elements respectively representativeof the links included in the subset of links are configured to bedisplayed over the video when the video is played in response to therequest (e.g., as elements overlaid onto image data of the video).

In another aspect, a method is disclosed that includes receiving arequest to play a video hosted by a media provider. In response toreceiving the request, the method further includes selecting a subset oflinks included in a set of links associated with the video to providewith the video when it is played in response to the request, wherein theselection is based in part on a number of links included in the set oflinks, wherein graphical elements respectively representative of thelinks included in the subset of links are configured to be displayedwith the video when the video is played in response to the request, andthe selection is further based in part on context of a user or displaydevice.

Further provided is a tangible computer-readable storage mediumcomprising computer-readable instructions that, in response toexecution, cause a computing system to perform various operations. Theseoperations can receiving a request to play a video hosted by a mediaprovider, and selecting a subset of links included in a set of linksassociated with the video to provide with the video when it is played inresponse to the request, wherein the selection is based in part ondimension of a display screen of a device at which the video will beplayed in response to the request, wherein graphical elementsrespectively representative of the links included in the subset of linksare configured to be overlaid onto the video when the video is played inresponse to the request.

Referring now to the drawings, with reference initially to FIG. 1,presented is a diagram of an example system 100 for dynamicallydisplaying hyperlinks in a video based on various factors associatedwith a device at which the video is played and/or a user of the device,in accordance with various aspects and embodiments described herein.Aspects of systems, apparatuses or processes explained in thisdisclosure can constitute machine-executable components embodied withinmachine(s), e.g., embodied in one or more computer readable mediums (ormedia) associated with one or more machines. Such components, whenexecuted by the one or more machines, e.g., computer(s), computingdevice(s), virtual machine(s), etc. can cause the machine(s) to performthe operations described.

System 100 includes media provider 102 including dynamic linkintegration platform 104, one or more sharing sources 114, one or moreexternal information sources 118 and one or more client devices 120.System 100 also includes one or more networks 116 connecting clients120, sharing sources 114, external information sources 118, mediaprovider 102 and dynamic link integration platform 104. Dynamic linkintegration platform 104 can include memory 112 for storing computerexecutable components and instructions. Dynamic link integrationplatform 104 can further include a processor 110 to facilitate operationof the instructions (e.g., computer executable components andinstructions) by the dynamic link integration platform 104.

Media provider 102 can include an entity that provides media content toclient devices 120 via network 116 (e.g., the Internet). As used hereinthe term media content or media item can include but is not limited tostreamable media (e.g., video, live video, animations, videoadvertisements, music, music videos, sound files and etc.) and staticmedia (e.g., pictures, thumbnails). In some aspects, the term mediacontent or media item includes a collection of media items such as aplaylist including several videos or songs, or a channel includingseveral videos or songs associated with a single media creator.

In an aspect, media provider 102 is configured to provide streamed mediato client devices 120 over a network 116. The media can be stored inmemory 112 and/or at various servers employed by media provider 102 andaccessed via client devices 120 using a website platform of the mediaprovider 102. For instance, media provider 102 can provide and presentmedia content to a user via a website that can be accessed by a clientdevice 120 using a browser. In an aspect, media provider 102 can includea media presentation source that has access to a voluminous quantity(and potentially an inexhaustible number) of shared media (e.g., videoand/or audio) files. The media presentation source can further streamthese media files to one or more users at respective client devices 120of the one or more users over a network 116. In an aspect, mediaprovider 102 can also receive media from one or more client devices 120over a network 116. For example, users can upload videos to mediaprovider 102 via client devices 120, for sharing with other users bymedia provider 102.

A sharing source 114 can include any networked resource that can receiveand provide links or hyperlinks to media, provided by media provider102, over network 116 (e.g., the Internet). For example, user's viewinga video provided my media provider may desire to share a link to thevideo with a friend, on their blog, or on a social networking profile. Asharing source 114 includes a network location or device at which such alink to a video (or other type of media or information) provided bymedia provider 102, is shared via posting at the sharing source 114 orsending to the sharing source in an electronic messages (e.g. an email,multimedia message, short messaging service (SMS) text message, etc.). Asharing source 114 can include a website, an application, or a documentthat can include a link to a video, provided by media provider 102. Ashared link to a video can be displayed at a sharing source 114 inassociation with a still image representation of the video and/or inassociation with an embedded video player configured to play the video.Example sharing sources 114 can include but are not limited to: a socialnetworking services website, a website that compiles photos and/or linksto information found interesting to users at various other websites, awebsite that provides news articles and news multimedia to users, awebsite that provides written reviews of places and things, a websitethat provides products for purchasing, or a website that provideseducational services and information.

It should be appreciated that the types of sharing sources 114 describedabove are merely exemplary and that system 100 (and additional systemsdescribed herein) can be employed with a vast array of sharing sources.For example, any suitable device, application, or document that canreceive and provide a link or hyperlink to a video provided by mediaprovider 102 can constitute a sharing source 114. Further, althoughsharing sources 114 are depicted remote from client devices 120, in anaspect, a sharing source can be provided at client device 120. Forexample, client device 120 can include an application that providesand/or receives hyperlinks to videos provided by media provider 102. Inanother example, client device 120 can store and/or provide a documentthat includes a hyperlink to a video provided by media provider 102.

An external information source 118 can include any suitable networksource that is not classified as social network and provides informationthat can be linked to. For example, an external information source 118can include a website that provides information, a merchant website, ora user's personal website. In certain aspects, an external informationsource 118 can also function as a sharing source 114. For example, whenplaying the role of a sharing source 114, the external informationsource 118 can receive a link to a video (e.g., provided by mediaprovider 102) posted thereto.

As used herein, the term link or hyperlink refers to an object or itemthat serves as a reference to remote data. Hyperlinks are used bynetworked computing entities (e.g., media provider 102, sharing sources114, external information sources 118, etc.) to link information toother information over a network (e.g., the Internet). The terms linkand hyperlink are used herein interchangeably. A link can be selected bya user to present the user with the data represented by the link. Theeffect of selecting a link can vary with the hypertext system used togenerate the link and may sometimes depend on the link itself. Forinstance, on the World Wide Web, most hyperlinks cause a target objectto replace an object being displayed, but some are marked to cause thetarget document to open in a new window. Another possibility istransclusion, for which the link target is a document fragment thatreplaces a link anchor within the source document.

A link or hyperlink can be presented to a user in various forms orobjects that allow a user to click on or select the link to arrive atthe data object represented by the link. For example, a link can bedisplayed as text (e.g., a string of characters including a uniformresource locator (URL) for a webpage represented by the link), an image,a thumbnail, a video or any object or combination of objects that isrepresentative of the data it refers to. For example, a link to a socialnetwork profile page for a company or product referenced can berepresented by an icon indicative of the social network or product. Inanother example, a link to a webpage for product can be represented by athumbnail image of the product or logo for the product.

Links or hyperlinks can be integrated in various mediums, including butnot limited to, a document, a webpage, an image, a video, or ananimation. Aspects of the subject disclosure are exemplified withrespect to links or hyperlinks that can be integrated over a videoprovided by media provider 102. However, it should be appreciated thatvarious aspects of the subject disclosure can facilitate dynamicselection of links and integration of those links into other mediums(e.g., a still image, a webpage, a document, etc.). Links or hyperlinksthat can be provided in videos or other mediums in accordance withaspects of the subject disclosure can include but are not limited to:incline links, anchor links, hyperlinks in hypertext markup language(HTML), or hyperlinks in extensible markup language (XML).

As noted above, when a link is displayed with or over a video, agraphical element or icon (e.g., an image, a logo, etc.) representativeof the link is displayed over (e.g., as an overlay) or within image dataof the video. In particular, graphical elements representative of linksare displayed within the same display space as the video. For example,graphical elements representative of links can be overlaid onto imagedata of the video as the video is played. In another example, thegraphical elements representative of links can be displayed within thevideo display area of a video player as the video is being played in thevideo player. These graphical elements can further be clicked on toeffectuate selection of the links represented by the respectivegraphical elements.

Client device(s) 120 can include any suitable computing deviceassociated with a user and configured to interact with media provider102, sharing source(s) 114, external information source(s) 118, and/ordynamic link integration platform 104. For example, client device 120can include a desktop computer, a laptop computer, a television, amobile phone, a tablet personal computer (PC), or a personal digitalassistant PDA. As used in this disclosure, the terms “content consumer”or “user” refer to a person, entity, system, or combination thereof thatemploys system 100 (or additional systems described in this disclosure)using client device 120. Network(s) 116 can include wired and wirelessnetworks, including but not limited to, a cellular network, a wide areanetwork (WAD, e.g., the Internet), a local area network (LAN), or apersonal area network (PAN). For example, a client device 120 cancommunicate with a sharing source 114 and media provider 102 (and viceversa) using virtually any desired wired or wireless technology,including, for example, cellular, WAN, wireless fidelity (Wi-Fi),Wi-Max, WLAN, and etc. In an aspect, one or more components of system100 are configured to interact via disparate networks.

Dynamic link integration platform 104 facilitates dynamically selectinglinks for displaying over a video when the video is played (e.g.,streamed from media provider to a client device 120 via a network 116)based on various conditions associated with a client device 120 as whichthe video is to be played and/or a user of the client device 120. In anaspect, the links are selected from a set of links that includespre-associated links provided with the video when received by mediaprovider 102 as selected and configured by the uploader of the video orcreator of the video. Accordingly, dynamic link integration platform 104facilitates dynamically selecting a subset of pre-associated links todisplay over a video that are suitable for displaying over the videoeach time the video is played based on the device at which the video isto be played and/or a user of the device.

In another aspect, the set of links from which the subset of links areselected also include links provided by media provider 102 and/orgenerated by dynamic link integration platform 104. These media providergenerated links can be stored in memory 112 and/or dynamically generatedin response to a request for a video. Media provider generated linksinclude links generated and configured by media provider 102. Mediaprovider links include links that media provider 102 would like topotentially display over a video when it is played (e.g., as opposed topre-associated links selected by a creator/uploader of the video). Mediaprovider links can be applied by dynamic link integration platform 104to any video provided by media provider 102.

Dynamic link integration platform 104 can include request component toreceive requests from client devices 120 to play videos provided bymedia provider 102. For example, using client devices 120, a pluralityof users can access shared videos provided by media provider 102 andselect videos for playing. In an aspect, users can access the shared thevideos provided by media provider 102 at a webpage hosted by the mediaprovider 102 or at a sharing source 114 at which a link to a videoprovided by media provider, or an embedded video provided by mediaprovider 102, is located.

Request component 106 can also receive requests to automatically playvideos provided by media provider 102. According to this aspect, mediaprovider 102 can be configured to automatically begin streaming a videoto a client device 120 for playing at the client device 120 in responseto various conditions or signals. For example, media provider 102 can beconfigured to automatically begin streaming a video to a client device120 (wherein streaming of the video results in the playing of the videoat the client device) in response to selection of a link to the video(provided by media provider 102) located at a sharing source 114. Inanother example, media provider 102 can automatically begin streaming avideo to client device as a function of context of the client device,content of the video, visibility of a video player in which the video isplayed at the client device, opening of a browser window or tab at thethat includes the video, or various additional conceivable factors.Signals that prompt media provider 102 to automatically begin streaminga video to a client device 120 can further be received by requestcomponent 106 and interpreted as requests to play a video at the clientdevice 120.

In response to reception of a request to play a video provided by mediaprovider 102, media provider 102 can stream the video to the clientdevice 120 associated with the request via a network 116. In an aspect,media provider 102 is configured to steam advertisement multimedia inassociation with a video for which a request to play the video isreceived. For example, media provider 102 can stream an advertisementvideo with a requested video such that the advertisement video is playedbefore (e.g., a pre-roll video advertisement), during (in-streamadvertisement), or after (post-roll advertisement) the requested video.According to this aspect, media provider 102 can select a videoadvertisement to provide with a requested video or the videoadvertisement can be pre-associated with the requested video.

Selection component 108 is configured select links for presentation withor over a requested video, or an advertisement video associated with arequested video, (or other requested data object such as an image, awebpage, a document, etc.) based on conditional factors associated withthe request for the video. In particular, selection component 108 canselect a subset of links for displaying over a requested video and/or anadvertisement video associated with the requested video based in part ona user associated with the request and/or operating parameters of adevice associated with the request (e.g., the device at which the videowill be played). In an aspect, selection component 108 is configured toselect the subset of links from a set of links including linkspre-associated with the requested video or video advertisement.

For example, videos (including advertisement videos) provided by mediaprovider 102 can be viewed by a plurality of different users onplurality of different types of client devices. These videos are oftenuploaded or otherwise provided to media provider 102 with hyperlinkspre-associated therewith that are configured to be displayed over thevideo when it is played. For example, a video advertisement may beprovided to media provider 102 for displaying as a pre-roll inassociation with videos provided by media provider 102. The videoadvertisement can be provided to media provider 102 with pre-associatedlinks the owner of the video advertisement has selected for displayingwith the video advertisement. For example, the pre-associated links mayinclude links to websites with more information about items marketed inthe video advertisement, links to share the video advertisement on asocial network profile page of the viewer, links to email the videoadvertisement to a friend, links to purchase items marketed in the videoadvertisement, etc.

However, links provided with a video (including an advertisement video)uploaded to media provider 102 for sharing with a plurality of users aregenerally fixed and do not adapt to account for preferences of a currentviewer and restrictions of a device at which the video is to be played.For various reasons, links included or pre-associated with a videoreceived by media provider 102 for dissemination thereof may not besuitable for displaying over the video. For instance, where the video isplayed on a device having a relatively small display screen, multipleicons or graphical elements representing the links may not fit withinthe area of the display screen in which the video is displayed. Inanother aspect, a link provided with a video for display with the videomay be inappropriate for a user based on the user's preferences. Forexample, a user who does not participate in social network ABC shouldnot be presented with a link to share the video at social network ABC.

In view of the above examples, in an aspect, selection component 108 canselect one or more links from a set of links provided with a video tointegrate with the video when a requested. At the time of the request,selection component 108 can analyze various factors associated with thedevice at which the video or video advertisement is to be played and theuser of the device, to determine or infer which of the pre-associatedshould be displayed with the video (e.g., as integrated within imagedata of the video and/or overlaid onto image data of the video).

In an aspect, when a video is received by media provider 102 (e.g., inresponse to initial uploading of the video), dynamic link integrationplatform 104 can identify any links pre-associated with the video. Thepre-associated links can then be keyed to the video in memory 112 (orother database accessible to dynamic link integration platform. When avideo is requested or otherwise selected for playing at client device120 (e.g., automatically as in the case of a pre-roll advertisementvideo), selection component 108 can identify any links pre-associatedwith the video in memory 112 and include these links in the set of linksfrom which it selects a subset of links for displaying with the video.

In addition to pre-associated links, the set of links from whichselection component 108 selects a subset of links to display over avideo can also include links provided by media provider 102 and storedin memory 112 and/or links generated by dynamic link integrationplatform 104, as discussed in greater detail infra. The set of linksfrom which selection component 108 dynamically selects a subset of linksfor displaying with a video includes three different types of links;sharing links, social network profile (SNP) links, and externalinformation source links.

Sharing links include links that allow users to share a video associatedwith the sharing link with other users (e.g., via posting a link to thevideo at a sharing source 114, embedding the video at a sharing source114, sending a link to the video in an electronic message, initiating aconcurrent viewing session of the video, etc.). For example, selectionof a sharing link provided in a video streamed by media provider 102 canresult in posting of a link to the video or embedding the video at asource represented by the sharing link. In an aspect, sharing linksallow users to share links to videos provided by media provider 102 withother users at sharing sources 114 and/or embed videos provided by mediaprovider 102 at sharing sources 114. For example, selection, by a user,of a sharing link associated with a video can generate a link to thevideo (e.g., a URL to the video at media provider 102) or embed code fora video that facilitates embedding the video at a sharing source 114 ina video player. The link or embed code can be provided to the user in adialogue box. A user can then copy and paste the link or embed code at asharing source 114.

In another example, a sharing link can be configured to automaticallyshare a link to a video or embed the video at a particular sharingsource 114 represented by the sharing link in response to selection ofthe sharing link. In particular, a sharing link for a social network canbe configured to effectuate posting of a link to a video or embedding avideo associated with the link at an account or profile page for a userwho selects the sharing link. For example, a sharing link to socialnetwork “Keeping up with Friends” can be displayed with a video entitled“Snazzy Sneakers Dance” viewed by user Amy Adams. While watching thevideo, Amy may decide to share the video on her social network profilepage at social network “Keeping up with Friends.” Accordingly, Amy canselect the sharing link for social network “Keeping up with Friends.” Inresponse to selection of the sharing link, a link to the video and/or anembedded video can be posted at Amy's Keeping up with Friends profilepage. According to this aspect, a user can have established profiles oraccounts at various social networks. Sharing links for each of thesesocial networks can be displayed with a video views by the user. Inresponse to selection of the respective sharing links by the user inassociation with viewing the video, a link to the video or an embeddedplayer for playing the video can be posted at the user's account orprofile page at the respective social networks.

In another aspect, a sharing link can include a link that effectuatessending a link to a video, or sending an embedded video, in anelectronic message (e.g., an email, multimedia message, SMS textmessage, etc.). According to this aspect, sharing links can include butare not limited to: a link to send an email with a link to a video inwhich the sharing link is provided, a link to send a multimedia messagewith a link to a video in which the sharing link is provided, or a linkto send an SMS message with a link to a video in which the sharing linkis provided.

In some aspects, a URL for a video that gets posted or sent in responseto selection of a sharing link provided in the video includes a URL fora the video at a network location other than media provider 102. Forexample, although a video advertisement for company Snazzy Sneakers Inc.is initially provided to a user by media provider 102, a sharing linkdisplayed in the video can generate a URL for a version of the videoadvertisement provided at a company website for Snazzy Sneakers Inc.Similarly, in some aspects, an embedded video player configured to playthe video that gets posted in response to selection of the sharing linkcan include a video player that is configured to play the video asstreamed from a network entity remote from media provider 102. However,in a preferred embodiment, sharing links included in videos provided bymedia provider 102 are configured format and post shared links to videoswith URLs at media provider 102 and embedded videos that are configuredto play videos as streamed by media provider 102.

SNP links include links to an account or profile page at a socialnetwork for a specific entity. As discussed with respect to sharinglinks, users can have established profiles or accounts at various socialnetworks. In addition to individual users entities can create socialnetwork accounts for a company or even a product. For example, companySnazzy Sneakers Inc. can create a social network profile page at socialnetwork “Keeping up with Friends.” SNP links include links that linkdirectly to a particular social network profile or account for aparticular user or entity. For example, a video advertisement for SnazzySneakers Inc. can include a SNP link to the social network profile pagefor Snazzy Sneakers Inc. at social network “Keeping up with Friends.”Selection of this SNP link can result in opening of window in whichSnazzy Sneaker Inc.'s Keeping up with Friends profile page is displayed.In another example, a video in which actress Erin Colleen appears caninclude a SNP link to Erin Colleen's personal profile page at socialnetwork “Keeping up with Friends.”

External information source links can include links or hyperlinks toinformation provided by an external information source 118 that is not asocial network profile or account. For example, external links caninclude links to an individual's or company's website, links to anarticle about a product, links to a website where a user can purchase aproduct, links to a website that provides informational services, etc.It should be appreciated that a vast array of external informationsource links to information available on the World Wide Web exist andcan be provided with videos in accordance with the subject disclosure.

As noted above the set of links from which selection component 108dynamically selects a subset of links for display with a video caninclude pre-associated links keyed to the video in memory 112 (e.g.,links provided with a video when the video is received by mediaprovider) and links generated or provided by media provider 102 ordynamic link integration platform 104. As described herein, linksprovided with a video when the video is received by media provider 102are referred to a pre-associated video links or links that arepre-associated with the video and links that are generated by mediaprovider 102 are referred to as media provider links. In an aspect,selection component 108 is configured to combine pre-associated linksand media provider links associated with a video to establish the set oflinks from which it selects a subset of links for displaying over thevideo.

In an aspect, pre-associated video links can include sharing links, SNPlinks and external information source links. For example, when a userprovides a video to media provider 102 for distribution thereof, theuser can include links with the video for display with the video whenthe video is played by media provider 102. In an aspect, the creator oruploader of the video can manually select links to associate with thevideo when the video is uploaded. In another aspect, a video creator oruploader of a video can configure metadata that is associated with thevideo and defines links to display with the video when the video isstreamed to users by media provider. This metadata can be extracted bydynamic link integration platform 104 to any identify pre-associated forthe video. Pre-associated links can be stored by dynamic linkintegration platform 104 in a table keyed to identifiers (IDs) forvideos associated with the respective pre-associated links. When a videois requested, dynamic link integration platform 104 can generate a setof links that includes any links pre-associated with the video using thetable in memory 112.

Media provider generated links include links generated and/or configuredby media provider 102. Media provider links include links that mediaprovider 102 would like to potentially display over a video when it isplayed (e.g., as opposed to pre-associated links selected by acreator/uploader of the video). Media provider links can be applied bydynamic link integration platform 104 to any video provided by mediaprovider 102. Similar to pre-associated links, media provider generatedlinks can also include sharing links, SNP links and external informationsource links. For example, dynamic link integration platform 104 canstore (e.g., in memory 112) N number of pre-configured media sharinglinks for various sharing sources 114, where N is an integer. Accordingto this example, memory 112 can store 50 pre-configured sharing linksfor 50 different social networking websites. Each of the 50 links can beconfigured to effectuate sharing a link to a video (and/or embedding thevideo) in which the respective links are displayed, at a userprofile/account at the respective social networking networks.

In an aspect, links that can be included in a set of links analyzed byselection component 108 are stored (e.g., in memory) or otherwiseprovided in association with information defining a URL for the link anda graphical element to represent the link when displayed over a video.Information describing the dimensions of the graphical element can alsobe associated with the link. Dynamic link integration platform 104 canalso associate information with a link (e.g., stored in memory 112) thatdefines what size a newly opened window should be in response toselection of the graphical element representative of the link andwhether the window should be opened in a new tab of a browser window inwhich the video is displayed, a same tab of a browser window in whichthe video is displayed, or in a popup. Each link or hyperlink can alsoinclude a title or tooltip. In an aspect, dynamic link integrationplatform 104 can configure links for display with a video such thatinteraction with an element representative of a link (e.g., moving acursor over the element or hovering over the element) results in displayof the title or tooltip for the link.

In an aspect, in order to generate a set of links for a video from whichto select a subset of links to display with the video in response to arequest for the video, dynamic link integration platform 104 combinesmedia provider generated links stored in memory 112 with pre-associatedlinks identified for the video. Selection component 108 can then selecta subset of links form this set of links to display with the video inresponse to the request. As a result, the number of links displayed witha video can be greater than the number of pre-associated linksoriginally provided with the video. In another aspect, discussed infrawith respect to FIG. 6, dynamic link integration platform 104 can filterthe media provider generated links to a subset of media providergenerated links in response to the request. This filtered subset ofmedia provider generated links is referred to herein as dynamicallygenerated media provider links. Dynamic link generation platform canthen establish the set of links for a video from which to select asubset of links to display with the video by combining this filteredsubset of media provider generated links and the pre-associated linksfor the video.

Selection component 108 is configured dynamically select a subset oflinks from a set including pre-associated video links and/or mediaprovider generated links, to display with a video (e.g., as overlays oras integrated with video data of the video) in response to a request toview or play the video. In an aspect, the subset of links can includeall links included in the set (e.g., the subset of links can equal theset of links). In another aspect, the subset of links can include asubset of pre-associated video links and/or a subset of media providergenerated links. Selection component 108 can analyze a variety offactors or conditions associated with the request to determine or inferwhich links to select from the set for inclusion in the subset of linksto display with the video. In an aspect, selection component 108 canemploy various algorithms stored in memory that weight these factors orconditions to determine or infer the subset of links to display with thevideo.

In an aspect, in association with trimming down a set of links to arriveat a subset of links to display with a video, selection component 108can filter the set of links by replacing pre-associated links for whicha duplicate or substantial duplicate media provider link exists with theduplicate media provider link. For example, a pre-associated links formay become outdated or configured with parameters that are not desiredby media provider 102. Accordingly, when selection component 108identifies a pre-associated link for which a media provider version ofthe link exists, selection component 108 can replace the pre-associatedlink with the media provider version of the link in the set of linksfrom which selection component selects a subset of links for displayingwith a video. For example, a pre-associated sharing link thatfacilitates sharing a link to the video associated with the link atsocial network website “mybookoffriends.com” may be configured to sharea link for a video wherein the URL associated with the link is a link toa version of the video hosted at a network location (e.g., a website)that is unaffiliated with media provider 102. Thus when a user selectsthe pre-associated version of the link posted at “mybookoffriends.com”the user will be brought to a network location that is unaffiliated withmedia provider 102, as opposed to a website hosted by media provider.Accordingly, selection component 108 can be configured to replace thepre-associated sharing links with a media provider generated sharingspecifically configured to share URLs that link to videos located at awebpage hosted by media provider 102 and/or share embedded video playersconfigured to play videos as streamed by media provider 102.

Selection component 108 can further filter the set of links based onvarious conditional parameters related to at least one of: displayscreen of the device at which the video is to be played, operatingparameters of the device at which the video is to be played, location ofthe device at which the video is to be played, context of the device atwhich the video is to be played, preference of the viewing user,demographics of the viewing user, a location associated with the viewinguser, sharing history of the viewing user, and social networkaffiliations of the viewing user.

In an aspect, selection component 108 can determine or infer the subsetof links to display over the video at least as a function of a number oflinks included in the set and a number of links considered appropriatefor displaying over the video (e.g., based on a total number of linksthat can fit within the dimensions of the display area of the videobased on size of the display screen of the device at which the video isto be played). For example, selection component 108 can apply thresholdrequirements with respect to the total maximum and minimum number oflinks to include in a subset, the total maximum and minimum number ofpre-associated links to include in a subset and/or the total maximum andminimum number of media generated links to include in a subset. In oneembodiment, the total maximum number of links that can be included in asubset can be an arbitrary number applied by dynamic link integrationplatform 104. In another embodiment, the total maximum number of linksthat can be included in a subset must be equal to or less than thenumber of pre-associated links for the video. In another example,selection component 108 can limit the total number of links to X (e.g.,10), wherein the number of pre-associated links to less than or equal toX−1, and the number of media generated links is less than or equal to X,where X is a number.

In another example, selection component 108 can apply restrictionswhereby the number of pre-associated links included in a subset isdependent on the number of media generated links included in the subset,and vice versa. For instance, selection component 108 can apply numberrestrictions whereby the number of pre-associated links included in asubset must equal the number of media generated links, or whereby thenumber of whereby the number of pre-associated links included in asubset must be less than the number of media generated links, or wherebythe number of pre-associated links included in a subset must exceed thenumber of media generated links.

In some aspects, number restrictions regarding maximum/minimum numbersof total links, pre-associated links, and/or media generated links to beincluded in a subset of links for display with a video can correspond todevice display requirements. For example, the number restrictionsregarding maximum numbers of total links, pre-associated links, and/ormedia generated links that can be included in a subset of links fordisplay over a video presented on a display screen with dimensions lessthan G×H (where G and H are numbers) can be different (e.g., morerestrictive such that fewer links can be included in the subset) thanthe number restrictions associated with presentation of the video at adisplay screen with dimensions greater than G×H.

In another aspect, selection component 108 can determine or infer thesubset of links based on factors associated with the device at which thevideo is to be displayed. According to this aspect, selection component108 can determine which links to include in the subset based in part ondevice display screen dimensions, dimensions of graphical elementsrepresenting respective links, how the graphical elements are to bearranged over the video, device operating parameters or system(s),device context, device location, or applications provided on the device.For example, selection component 108 can analyze the dimensions of avideo display area at which the video will be displayed and analyze thedimensions of the graphical elements or icons respectively representingthe links included in the set to determine which links and how many ofthe links, can fit within the dimensions of the video display area. Suchanalysis can also consider spacing between graphical elements and howthe graphical elements are to be arranged over the video (e.g., in asingle horizontal row at the bottom of the video, in a vertical column,at disparate corners, etc.). In another example, when a device islocated in Japan, a sharing link that is associated with a group ofusers in the United States may not be as relevant as a sharing link thatreaches a group of users in Japan. Accordingly, selection component 108can determine or infer that the sharing links associated with Japanshould be included in the subset and the sharing link associated withthe United States should be excluded from the subset. In anotherexample, when a user is viewing a video under an educational context(e.g., an educational video while in an educational setting), a sharinglink to an educational sharing source that facilitates intellectualreflection on the video may be more appropriate than a sharing link to asocial media sharing source that promotes gossiping about funny videos.Accordingly, based on the user/device context, selection component 108can determine or infer that the sharing link associated with theeducational sharing source should be included in the subset and thesharing link associated with the social media sharing source should beexcluded from the subset.

In yet another aspect, selection component 108 can determine or inferthe subset of links to display with the video based on factorsassociated with a user of the device from which the request to play thevideo is generated. These factors can include but are not limited to: apreference of the user, a demographic of the user, a language of theuser, a location of the user or geo-location claimed as the user's homelocation (e.g., a country and/or a state the user is affiliated with), acontext of the user, sharing history of the user, and/or social networkaffiliations of the user. For example, selection component 108 canidentify social network links that are tailored to a particulargeo-location the user is affiliated with (e.g., country) and includesharing links for these social networks within the subset as opposed tosharing links for social networks that are tailored to a differentgeo-location. In another example, selection component 108 can analyze auser's sharing history to determine which sharing sources 114 the userregularly shares or posts links to videos provided by media provider102. The selection component 108 can then include sharing links forthese sharing sources within the subset.

In yet another example, selection component 108 can examine an SNP linkin view of a user's prior interaction with the social network profilepage represented by the link. For instance, selection component 108 cananalyze an SNP link that links to a particular social network profilepage in view of a user's prior interaction with the social networkprofile page. If the user has previously viewed the page, selectioncomponent 108 can determine or infer that the link should not bedisplayed with the video (assuming the intent of the link to bring theuser to the social network page has already been satisfied). Selectioncomponent 108 can further analyze a type of interaction with the socialnetwork page when determining or inferring whether to include the SNPlink. For example, selection component 108 can determine or inferwhether to include the SNP link based on whether the user has previously“liked,” “disliked,” or “joined/followed” the page. Selection component108 can apply similar analysis with respect to external informationsource links.

Still in other aspects, selection component 108 can determine or inferthe subset of links to display with the video based on other factorsincluding but not limited to: trending links, time of year, time of day,holidays, government mandated links (e.g., Amber Alerts™, severe weatheralerts, etc.) a premium paid by a video provider to guarantee inclusionof the link, quality of the link, content associated with the link(e.g., to effectuate the promotion of inoffensive content), etc. Forexample, around popular holidays such as Christmas or Hanukah, selectioncomponent 108 can promote the display (e.g., via inclusion in the subsetof links for display with the video) of sharing links to network sitesthat organize and compile gift wish lists. It should be appreciated thatthe above noted factors or conditions that effect which links theselection component 108 will include in a subset of links to displaywith a video are merely exemplary and are not intended to limit thescope of the subject disclosure.

After a subset of links for displaying with a video is identified byselection component 108 and the manner/arrangement in which elementsrepresentative of the links will be displayed has been determined (e.g.,by integration component discussed supra), the video can be presented tothe user with the links displayed accordingly. For example, the clientdevice 120 can include a presentation component 122 to present the videoin a video player displayed in a user interface generated at the clientdevice 120. The presentation component 122 can further overlay clickablegraphical elements representative of the links included in the subsetover the video image data displayed within the video player as itpresented to the user via the user interface. The graphical elements canfurther be selected to effectuate opening of the links respectivelyrepresented by the graphical elements in a new window.

FIGS. 2-5B presents example users interfaces displaying videos havingwith links integrated therein or thereon in accordance with variousaspects and embodiments described herein. Repetitive description of likeelements employed in respective embodiments of systems and methodsdescribed herein are omitted for sake of brevity.

FIG. 2 presents an example interface 200 displaying a video 212 on auser device employed by user Amy Adams. In an aspect, the user device isa standard sized laptop PC with a standard sized display screen. Thevideo 212 is displayed on a webpage associated with a video sharingwebsite accessed by Amy using a browser of her laptop PC. For example,the video sharing website can include a website that allows multipleusers to access and view streaming videos. In an aspect, the videosharing website employs a dynamic link integration platform (e.g.,dynamic link integration platform 104 and the like) to facilitatedynamically integrating links with videos provided by the video sharingwebsite.

Interface 200 displays webpage associated with the video sharing websiteconfigured to display videos. In an aspect, the webpage can include asearch toolbar 202 that allows users to search for videos, a browsetoolbar that allows users to browse for videos, a movies toolbar thatallows users to search for movies and a sign in toolbar that allowsusers to sign into an account they created for maintaining apersonalized user experience with the video sharing website. In anaspect, user Amy Adams has is recognized (as indicated by arrow 214) bythe video sharing website, for example in response to establishment of ause account and signing in.

A video 212 is being played in interface 200 with links 216 and 218 thathave been dynamically selected by the dynamic link generation platformbased at least in part on the user being Amy Adams and various featuresassociated with Amy Adams, such as her sharing history, her preferences,her age, her gender etc. In an aspect, the video 212 is a video selectedby Amy Adams for playing. In another aspect, the video 212 is a videoadvertisement that is displayed as a pre-roll advertisement prior to theplaying of another video selected by Amy. For example, video 212 can bean advertisement for a dating/matchmaking service. In an aspect, link216 is an external information source link to a webpage affiliated withthe dating/matchmaking service that was pre-associated with the video212 when the video was provided to the video sharing website. Links 218can include sharing links for various social networks. These sharinglinks can be links generated and stored by the video sharing website.Sharing links 218 are depicted as simple boxes with text thereindenoting social network (SN) A, NB B, SN C, and so on merely forexemplary purposes. It should be appreciated that other pictorial imagesor icons can be employed as elements to represent the sharing links 218.

FIG. 3 presents another example interface 300 associated with the videosharing website discussed with respect to FIG. 2. Similar to interface200, interface 300 displays video 212. Interface 300 is also displayedon a standard laptop PC having a standard sized display screen. However,interface 300 is presented to user Tom Jones as opposed to user AmyAdams. According to this example, video 212 is being played in interface300 with links 216, 304 and 306 overlaid thereon, that have beendynamically selected by the dynamic link generation platform based atleast in part on the user being Tom Jones and various featuresassociated with Tom Jones, such as his sharing history, his preferences,his age, his gender etc. As seen by comparing interfaces 200 and 300,the links presented to Amy Adams are different than the links presentedto Tom Jones, despite the fact that both users are viewing the samevideo on same or similar devices. In particular, interface 300 replacesSN C and SN D with SN E and SN F.

Interface 300 also includes another link 306 having a differentappearance and location than the sharing links 304. According to thisexample, link 306 is a SNP link for a social network profile page of thedating/matchmaking services at social network F. In an aspect, dynamiclink integration platform is facilitates placement of SNP link 306 andsharing link SN-F at different locations of the video display todistinguish the two links. In another aspect, dynamic link integrationplatform is changes the appearance of the elements that represent SNPlink 306 and sharing link SN-F to distinguish the two links given theiraffiliation with the same social network, social network F. For example,sharing link 304 for SN-F is depicted as a square while SNP link 306 forsocial network F is depicted as a circle.

FIG. 4 presents an example interface 400 of the video sharing websitediscussed with respect to FIGS. 2 and 3. Similar to interfaces 200 and300, interface 400 displays video 212. Similar to interface 300,interface 400 is displayed to user Tom Jones. However, unlike interfaces200 and 300, interface 400 is displayed on a smartphone device having amuch smaller display screen than the display screen associated withTom's laptop PC. According to this example, video 212 is being played ininterface 300 with links 216 and 402 overlaid thereon, that have beendynamically selected by the dynamic link generation platform based atleast in part on the user being Tom Jones and the dimensions of thedisplay screen of Tom's smartphone. For example, when comparinginterface 400 with interface 300, it can be seen that sharing link SN-Fand SNP link 306 have been removed from interface 400 to reducecluttering of the small display screen with too many links.

FIGS. 5A and 5B presents other example interfaces 500 and 501 of thevideo sharing website discussed with respect to FIG. 2, as displayed ona mobile phone. Interfaces 500 and 501 display a different video 502that is a video advertisement for a shoe store company Fancy Feet Incthat sells woman's shoes. FIG. 5A displays a first version of a userinterface 500 that is initially displayed to the user of the mobilephone upon playing of the video advertisement. The initial interface 500includes an external information source link 504 that links to a websitefor Fancy Feet Inc., and an omnibus share link 506. In an aspect,selection of the share link 506 in interface 500 can result in thedisplay of interface 501. Interface 501 replaces links 504 and 506 witha plurality of sharing links 508 for various sharing sources (e.g.,social network (SN) A, SN B, SN C, etc.).

In an aspect, dynamic link integration platform 104 is configured toutilize interfaces 500 and 501 (and the like) to facilitate displayingmultiple sharing links over a video displayed on a relatively smalldisplay screen. In particular, by grouping the social sharing links 508together under an omnibus share link 506, dynamic link generationplatform can present a user with a plurality of sharing links that wouldnot otherwise fit within the dimensions of the display screen inaddition to external information source link 504.

FIG. 6 presents another example system 600 that facilitates dynamicallyselecting and displaying hyperlinks in a video based on various factorsassociated with a device at which the video is played and a user of thedevice, in accordance with various aspects and embodiments describedherein. System 600 includes same or similar features and functionalitiesof system 100 with the addition of link ingestion component 602 and linkset generation component 604. Repetitive description of like elementsemployed in respective embodiments of systems and methods describedherein are omitted for sake of brevity.

Link ingestion component 602 is configured to ingest and process linkspre-associated for display with a video that has been received by mediaprovider 102. In an aspect, link ingestion component 602 is configuredto analyze metadata associated with videos uploaded to media provider102 and identify links included therein. Link ingestion component 602can also process links identified in metadata associated with videosuploaded to media provided to classify the respective links as sharinglinks, SNP links, and/or external information source links. Linkingestion component 602 can further associate the classified links withIDs for the respective video in a database that can be stored in memory112. In another aspect, links pre-associated with videos received bymedia provider 102 can be ingested by link ingestion component 602 andmanually identified, classified and programmed into a database keyed byvideo ID.

Link set generation component 604 is configured to generate a set oflinks associated with a video from which selection component 108 canidentify a subset of links from for displaying with the video inresponse to and based on a particular request to play the video. In anaspect, in response to a request for a video, link set generationcomponent 604 can generate a set of links associated with a video thatincludes all pre-associated links for the video (e.g., as identifiedusing a database populated by link ingestion component 602) and allmedia provider generated links associated with media provider 102 (e.g.,that are stored in memory 112). Selection component 108 can then selecta subset of links from this set of links for display with the videobased on the various factors and conditions discussed supra (e.g.,device software and hardware capabilities, device context, userpreferences, user sharing history, user demographics, etc.).

In another embodiment, link set generation component 604 is configuredto generate a set of links that has been filtered in part to include asubset of media provider sharing links considered relevant by dynamiclink integration platform and to eliminate pre-associated links that aduplicates or substantial duplicates of media provider links. Selectioncomponent 108 can then select a subset of links from this partiallyfiltered set of links for display with the video based on one or more ofthe various factors and conditions discussed supra (e.g., devicesoftware and hardware capabilities, device context, user preferences,user sharing history, user demographics, etc.). According to thisembodiment, rather than retrieving and caching data associated with allmedia provider generated links prior to selection of a subset of linksfor displaying with a video, dynamic link integration platform canretrieve and cache information for a smaller subset of media providergenerated links that are relevant to a current video request.

As noted supra, sharing links that are generated by media provider (asopposed to sharing links that are pre-associated with a video) arespecifically configured to facilitate sharing a link to a video providedby media provider 102 and/or embedding a video provided by mediaprovider 102. For example, media provider generated sharing links caninclude sharing links that facilitate sharing a video (e.g. a link tothe video or embedding the video) at a sharing source 114 associatedwith a user desiring to share the video (e.g., a social network profileaccount for the user). Media provider generated sharing links can alsoinclude links that facilitate sharing a link to a video provided bymedia provider via an electronic message.

When a sharing link is displayed with a video, selection of the sharinglink by the viewing user can result in sharing of a link to the video orembedding the video. For example, selection of a sharing link overlaidonto a video can result in the generation of a URL for the video and/orembed code for the video which a user can manually select forintegration at a sharing source or electronic message. In anotherexample, as discussed supra, selection of a sharing link overlaid onto avideo that represents a particular sharing source 114 (e.g., aparticular social network) can result in the automatic integration of alink to the video and or an embedded player configured to play thevideo, at a profile page of the user who selects the sharing link at theparticular sharing source.

However, sharing links generated by media provider 102 can differ fromsharing links that are pre-associated with a video (e.g., by a creatoror uploader of the video) based on configuration of the link to a videothat is shared/posted in response to selection of the sharing linkdisplayed with the video, and/or based on the configuration of theembedded video player configured to play the video that is shared/postedin response to selection of the sharing link displayed with the video.In particular, media provider generated sharing links are configured togenerate links to videos and/or embed videos that are configured bymedia provider 102 and represent version of the videos provided by mediaprovider 102.

For example, in response to selection of a media provider generatedsharing link displayed with a video, a link to the video can begenerated by media provider and/or posted at a sharing source 114represented by the media provider generated sharing link (e.g., a socialnetwork profile page of the sharing user). This link will have a URLconfigured by media provider 102 for the video at a webpage hosed bymedia provider 102 (as opposed to a URL for the video at a webpagehosted by another network entity). In another example, in response toselection of a media provider generated sharing link displayed with avideo, an embedded player configured to play the video can posted at asharing source 114 represented by the media provider generated sharinglink (e.g., a social network profile page of the sharing user). Thisembedded player will be an embedded player selected and formatted bymedia provider and configured to play the video as streamed from mediaprovider 102. Therefore, media provider generated sharing links arepreferred over pre-associated sharing links that may or may not beconfigured in accordance with parameters desired by media provider 102.

In an aspect of this embodiment, link set generation component 604 caninclude dynamic sharing link component 606. Dynamic sharing linkcomponent 606 is configured to generate a subset of media providergenerated sharing links. In particular, dynamic sharing link component606 can examine media provider generated sharing links stored in memory112 and generate a subset of these media provider generated sharinglinks in response to a request to play a video. Dynamic sharing linkcomponent 606 can employ same or similar factors/conditions employed byselection component 108 for selecting a subset of links to display witha video when identifying a subset of media provider generated sharinglinks that are suitable for displaying with the video.

For example, in response to a request to play a video, dynamic sharinglink component 606 can identify a subset of media provider generatedsharing links from a set of media provider generated sharing links(e.g., stored in memory 112) that are suitable for display with thevideo based in part on various factors associated with a user associatedwith the request, including but not limited to: user preferences, userdemographics, user sharing history, user geo-location affiliation, userlanguage, user context, user social network affiliations, sharingsources the user has followed links to videos provided by mediaprovider, and/or sharing sources at which the user has viewed embeddedvideos provided by media provider. In another example, in response to arequest to play a video, dynamic sharing link component 606 can identifya subset of media provider generated sharing links from a set of mediaprovider generated sharing links (e.g., stored in memory 112) that aresuitable for display with the video based in part on various factorsassociated with a device at which the video will be played, includingbut not limited to: device operating capabilities, device display screendimensions, device operating system, applications provided on thedevice, a location of the device, or a context of the device.

In an aspect, in association with generation of the subset of mediaprovider generated links that are suitable for displaying with arequested video based on one or more of the various conditions/factorsexemplified above, dynamic sharing link component 606 can rank the linksincluded in the subset to reflect a priority order for integration ofthe respective links with the video. For example, dynamic sharing linkcomponent 606 can rank respective links included in the subset toreflect degree to which the respective links are suitable for displayingwith the requested video. In an aspect, the ranking can reflect aninferred likelihood that the link will be selected by the viewing user.For example, a sharing link that represents a social networking sourcethat the viewing user regularly shares links to videos at can receive ahigh ranking than a sharing link that represents a social networkingsource that the viewing user has never visited.

FIG. 7 presents a flow diagram that outlines an example process 700 fordynamically selecting links for displaying with a video that includes aprocess for generating of a set of links associated with the video bylink set generation component 604 and dynamic sharing link component606. Process 700 initially begins with reception of a request to play avideo at 702. For example, this request can include selection of a videofor playing by a user at his client device. In another example, thisrequest can include a request initiated by a media provider providingthe video to automatically initiate playing of the video in response tothe occurrence of a predetermined condition (e.g., a video player cominginto view or the opening of a new browser window that presents a video).

In response to reception of the request by dynamic link integrationplatform 104, link set generation component 604 can generate a set oflinks associated with the video at 704. Call out box 706 presents anexample process for generating this set of links by link set generationcomponent 604. At 708, link set generation component 604 can fetch linkspre-associated with the video. For example, link set generationcomponent 604 can identify links pre-associated with the video that havebeen keyed to an ID for the video in a video link database that waspreviously generated prior to the request and stored in memoryaccessible to link set generation component 604. At 710, as link setgeneration component is fetching pre-associated links, dynamic sharinglink component 606 can procedurally generate a subset of media providergenerated sharing links and combine these links with the pre-associatedlinks.

For example, dynamic sharing link component 606 can analyze a pluralityof sharing links stored by dynamic link integration platform 104 thatwere generated by media provider 102 and/or dynamic link generationplatform prior to the request. Based on the analysis, dynamic sharinglink component 606 can generate a subset of media provider generatedsharing links that are most likely to be selected by the user, are mostrelevant to the user, and/or are suitable for displaying at the user'sclient device based on various restrictions of the client device (e.g.,display screen size, operating parameters, applications provided on thedevice, etc.). In an aspect, dynamic sharing link component 606 can rankthen sharing links included in the subset based on degree of likelihoodthe user will select the respective sharing links.

At 712, link set generation component 604 can eliminate pre-associatedsharing links that are duplicates of sharing links included in thedynamically generated subset of sharing links provided by mediaprovider. For example, link set generation component 604 can comb overthe pre-associated links to identify URLs that are the same orsubstantially the same as URLs included in the subset of sharing linksprovided by media provider and eliminate these pre-associated URLs. Inan aspect, link generation component identifies duplicate URL usingregular expressions since the URLs might not be exact duplicates. Thenat 714, link set generation component 604 can classify the remaininglinks as sharing links, SNP links, and external information sourcelinks. After the set of links has been generated by link set generationcomponent 604, selection component 108 identifies a subset of linksincluded in the set for displaying with the video (e.g., as overlaidonto image data of the video and/or integrated with image data of thevideo) when the video is played based on one or more of the variousconditions/parameters discussed herein. For example, selection component108 can select which links will ultimately be displayed with the videobased on factors related to the device at which the video will be played(e.g., device display screen dimensions, device operating parameters,applications provided on the device etc.), factors associated with theviewing user (e.g., user preferences, user sharing history, usergeo-location, user demographics etc.), and/or other factors discussedherein.

For example, selection component 108 can first examine the number oflinks included in the subset and determine a cutoff point. In oneaspect, the minimum cut off point can be equal to the number ofpre-associated links for the video. In another aspect, the cutoff pointcan be an arbitrary number. In yet another aspect, selection component108 can determine the cutoff point by taking the number ofpre-associated links and adding to it the number of sharing linksassociated with a ranking above a predetermined threshold that reflectsa high probability of sharing by the user.

Next, selection component 108 can analyze display screen size associatedwith the client device at which the video will be displayed. Forinstance, on some devices (e.g., a mobile device) the video will be arerendered in a smaller size as compared to a larger device (e.g. a PC).As a result the amount of space available on the display screen plays animportant role in deciding how many and which links to include in thesubset. In an aspect, selection component 108 can analyze the dimensionsof video, the manner in which the links will be displayed (e.g.,horizontally and/or vertically), the dimensions of the elementsrepresentative of the links included in the set, and the spacing betweenthe links. Based on this analysis, selection component 108 can select asubset of links for displaying with the video that falls within thecutoff point.

FIG. 8 presents another example system 800 that facilitates dynamicallydisplaying hyperlinks in a video based on various factors associatedwith a device at which the video is played and a user of the device, inaccordance with various aspects and embodiments described herein. System800 includes same or similar features and functionalities of system 600with the addition of integration component 802. Repetitive descriptionof like elements employed in respective embodiments of systems andmethods described herein are omitted for sake of brevity.

Integration component 802 is configured to determine how to display asubset of links selected for display with a video. In particular,integration component is configured to determine an arrangement fordisplaying the elements representative of the links of the subset asoverlays on the video when it is played. For example, integrationcomponent 802 can analyze dimensions of a display screen at which thevideo is played and dimensions of elements representative the links inthe subset to determine how to arrange the links on the display screen.In an aspect, integration component 802 facilitates selection component108 with determining or inferring which links to select. For example,integration component can analyze size and shape of elements anddetermine which elements or combination of elements will fit within thevideo display area and how they will fit. This analysis by integrationcomponent 802 can influence which links selection component 108 selectsfor inclusion in the subset.

In an aspect, integration component 802 is configured to arrange thedifferent types of links, including sharing links, SNP links andexternal information source links, at different locations of thedisplayed video. For example, integration component 802 can beconfigured to display sharing links in a horizontal manner and SNP linksin a vertical manner, and vice versa, to distinguish between thedifferent types of links. In another example, integration component 802can group sharing links under an omnibus clickable share icon asdescribed with respect to FIGS. 5A and 5B based in part on devicedisplay screen size and/or device operating parameters.

FIG. 9 presents another example system 900 that facilitates dynamicallydisplaying hyperlinks in a video based on various factors associatedwith a device at which the video is played and a user of the device, inaccordance with various aspects and embodiments described herein. System900 includes same or similar features and functionalities of system 800with the addition of inference component 902. Repetitive description oflike elements employed in respective embodiments of systems and methodsdescribed herein are omitted for sake of brevity.

Inference component 902 is configured to provide for or aid in variousinferences or determinations associated with aspects of dynamic linkintegration platform 104, including selection component 108, link setgeneration component 604, dynamic sharing link component 606 andintegration component 802. In aspect, all or portions of dynamic linkintegration platform can be operatively coupled to inference component902. Moreover, inference component 902 can be granted access to all orportions of sharing sources 114, external information sources 118 andclients 120.

In an aspect, the inference component 902 can facilitate inferring asubset of links to display with a video and how to display those linkswith the video (e.g., how to arrange and size elements representative ofthose links as overlays on the video) based on the various conditionalfactors discussed herein (e.g., device operating parameters, devicedisplay screen size, size of graphical elements representative of links,device context, user preferences, user sharing history, user geolocationaffiliation, etc.).

In order to provide for or aid in the numerous inferences describedherein, inference component 902 can examine the entirety or a subset ofthe data to which it is granted access and can provide for reasoningabout or infer states of the system, environment, etc. from a set ofobservations as captured via events and/or data. An inference can beemployed to identify a specific context or action, or can generate aprobability distribution over states, for example. The inference can beprobabilistic—that is, the computation of a probability distributionover states of interest based on a consideration of data and events. Aninference can also refer to techniques employed for composinghigher-level events from a set of events and/or data.

Such an inference can result in the construction of new events oractions from a set of observed events and/or stored event data, whetheror not the events are correlated in close temporal proximity, andwhether the events and data come from one or several event and datasources. Various classification (explicitly and/or implicitly trained)schemes and/or systems (e.g., support vector machines, neural networks,expert systems, Bayesian belief networks, fuzzy logic, data fusionengines, etc.) can be employed in connection with performing automaticand/or inferred action in connection with the claimed subject matter.

A classifier can map an input attribute vector, x=(x1, x2, x3, x4, xn),to a confidence that the input belongs to a class, such as byf(x)=confidence(class). Such classification can employ a probabilisticand/or statistical-based analysis (e.g., factoring into the analysisutilities and costs) to prognose or infer an action that a user desiresto be automatically performed. A support vector machine (SVM) is anexample of a classifier that can be employed. The SVM operates byfinding a hyper-surface in the space of possible inputs, where thehyper-surface attempts to split the triggering criteria from thenon-triggering events. Intuitively, this makes the classificationcorrect for testing data that is near, but not identical to trainingdata. Other directed and undirected model classification approachesinclude, e.g., naïve Bayes, Bayesian networks, decision trees, neuralnetworks, fuzzy logic models, and probabilistic classification modelsproviding different patterns of independence can be employed.Classification as used herein also is inclusive of statisticalregression that is utilized to develop models of priority.

FIG. 10 presents another example system 1000 that facilitatesdynamically displaying hyperlinks in a video based on various factorsassociated with a device at which the video is played and a user of thedevice, in accordance with various aspects and embodiments describedherein. System 1000 includes same or similar features andfunctionalities of system 900 with the addition of configurationcomponent 1002. Repetitive description of like elements employed inrespective embodiments of systems and methods described herein areomitted for sake of brevity.

Configuration component 1002 is configured to facilitate configuringlinks provided with videos displayed on mobile devices to account foroperating systems employed by the respective mobile devices and/orapplications provided on the respective mobile devices. In an aspect,when a video is selected for playing at a mobile device, configurationcomponent 1002 is configured to identify and analyze applicationsprovided on the mobile device. For example configuration component 1002can receive information regarding particular application programs storedon the mobile device. Configuration can further provide this informationto selection component 108 to facilitate selecting links to display withthe video. For example, where a mobile device includes an applicationfor social network “Keeping up with Friends,” selection component 108can infer that a sharing link for the social network “Keeping up withFriend” is appropriate for display with the video.

In addition, configuration component 1002 can further configure links tonetwork sources for which a corresponding application is provided on theclient device 120 at which the link will be displayed (e.g., inassociation with a requested video) so that selection of the linkresults in opening of the corresponding application at the client device120 (e.g., as opposed to a URL for the web site associated with thelink). In furtherance to the above example, configuration component 1002can configure the sharing link for the social network “Keeping up withFriends” such that selection of the sharing link causes the Keeping upwith Friend's application provided on the mobile device to open inresponse to selection of the link as opposed to a website for “Keepingup with Friends” or another URL.

FIG. 11 presents another example system 1100 that facilitatesdynamically displaying hyperlinks in a video based on various factorsassociated with a device at which the video is played and a user of thedevice, in accordance with various aspects and embodiments describedherein. System 1100 includes same or similar features andfunctionalities of system 1000 with the addition of monetizationcomponent 1102. Repetitive description of like elements employed inrespective embodiments of systems and methods described herein areomitted for sake of brevity.

Monetization component 1102 is configured to implement a charging schemethat charges an advertiser based in part on selection of links displayedwith a video advertisement of the advertiser. For example, monetizationcomponent 1102 can track each time a user selects a link displayedduring a video advertisement. Monetization component 1102 can furthertrack each time a link to the video advertisement is shared and eachtime other uses select the shared link at the sharing source at which itis shared. Monetization component can further charge the advertiserbased on these tracked user interactions with links displayed with thevideo advertisement.

In view of the example systems and/or devices described herein, examplemethods that can be implemented in accordance with the disclosed subjectmatter can be further appreciated with reference to flowcharts in FIGS.12-14. For purposes of simplicity of explanation, example methodsdisclosed herein are presented and described as a series of acts;however, it is to be understood and appreciated that the disclosedsubject matter is not limited by the order of acts, as some acts mayoccur in different orders and/or concurrently with other acts from thatshown and described herein. For example, a method disclosed herein couldalternatively be represented as a series of interrelated states orevents, such as in a state diagram. Moreover, interaction diagram(s) mayrepresent methods in accordance with the disclosed subject matter whendisparate entities enact disparate portions of the methods. Furthermore,not all illustrated acts may be required to implement a method inaccordance with the subject specification. It should be furtherappreciated that the methods disclosed throughout the subjectspecification are capable of being stored on an article of manufactureto facilitate transporting and transferring such methods to computersfor execution by a processor or for storage in a memory.

FIG. 12 illustrates a flow chart of an example method 1200 fordynamically displaying hyperlinks in a video based on various factorsassociated with a device at which the video is played and a user of thedevice, in accordance with various aspects and embodiments describedherein. At 1202, a request to play a video hosted by a media provider isreceived (e.g., by request component 106). At 1202, a subset of linksincluded in a set of links associated with the video to provide with thevideo when it is played is selected in response to the request (e.g., byselection component 108). In an aspect, the selection is based in parton number of links included in the set of links, wherein elementsrespectively representative of the links included in the subset of linksare configured to be displayed with the video when the video is playedin response to the request. In another aspect, the selection is furtherbased in part on context of a user or display device.

FIG. 13 illustrates a flow chart of another example method 1300 fordynamically displaying hyperlinks in a video based on various factorsassociated with a device at which the video is played and a user of thedevice, in accordance with various aspects and embodiments describedherein. At 1302, a request to play a video hosted by a media provider isreceived (e.g., by request component 106). At 1304, a set of linksassociated with the video is generated in response to the request (e.g.,via link set generation component 604). At 1306, a subset of linksincluded in the set of links is selected for providing with the videowhen the video is played in response to the request (e.g., by selectioncomponent 108). In an aspect, the selection is based in part on numberof links included in the set of links, wherein elements respectivelyrepresentative of the links included in the subset of links areconfigured to be displayed with the video when the video is played inresponse to the request. In another aspect, the selection is furtherbased in part on context of a user or display device.

FIG. 14 illustrates a flow chart of an example method 1400 forgenerating a set of links associated with a video requested for playingby a media provider in response to the request (e.g., via link setgeneration component 604). At 1402, links pre-associated with the videoare identified. At 1404, a subset of sharing links generated by themedia provider is identified. In an aspect, this subset of links isidentified by dynamic sharing link component 606 based in part on asharing history of a user associated with the request or the dimensionsof a display screen of a device associated with the request. At 1406,the subset of sharing links is combined with the one or morepre-associated links. At 1408, sharing links included in thepre-associated links that are the same or substantially similar to asharing link included in the subset of sharing links generated by themedia provider, are removed.

Example Operating Environments

The systems and processes described below can be embodied withinhardware, such as a single integrated circuit (IC) chip, multiple ICs,an application specific integrated circuit (ASIC), or the like. Further,the order in which some or all of the process blocks appear in eachprocess should not be deemed limiting. Rather, it should be understoodthat some of the process blocks can be executed in a variety of orders,not all of which may be explicitly illustrated in this disclosure.

With reference to FIG. 15, a suitable environment 1500 for implementingvarious aspects of the claimed subject matter includes a computer 1502.The computer 1502 includes a processing unit 1504, a system memory 1506,a codec 1505, and a system bus 1508. The system bus 1508 couples systemcomponents including, but not limited to, the system memory 1506 to theprocessing unit 1504. The processing unit 1504 can be any of variousavailable processors. Dual microprocessors and other multiprocessorarchitectures also can be employed as the processing unit 1504.

The system bus 1508 can be any of several types of bus structure(s)including the memory bus or memory controller, a peripheral bus orexternal bus, and/or a local bus using any variety of available busarchitectures including, but not limited to, Industrial StandardArchitecture (ISA), Micro-Channel Architecture (MSA), Extended ISA(EISA), Intelligent Drive Electronics (IDE), VESA Local Bus (VLB),Peripheral Component Interconnect (PCI), Card Bus, Universal Serial Bus(USB), Advanced Graphics Port (AGP), Personal Computer Memory CardInternational Association bus (PCMCIA), Firewire (IEEE 13154), and SmallComputer Systems Interface (SCSI).

The system memory 1506 includes volatile memory 1510 and non-volatilememory 1512. The basic input/output system (BIOS), containing the basicroutines to transfer information between elements within the computer1502, such as during start-up, is stored in non-volatile memory 1512. Inaddition, according to present innovations, codec 1505 may include atleast one of an encoder or decoder, wherein the at least one of anencoder or decoder may consist of hardware, a combination of hardwareand software, or software. Although, codec 1505 is depicted as aseparate component, codec 1505 may be contained within non-volatilememory 1512. By way of illustration, and not limitation, non-volatilememory 1512 can include read only memory (ROM), programmable ROM (PROM),electrically programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), or flash memory. Volatile memory 1510includes random access memory (RAM), which acts as external cachememory. According to present aspects, the volatile memory may store thewrite operation retry logic (not shown in FIG. 15) and the like. By wayof illustration and not limitation, RAM is available in many forms suchas static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),double data rate SDRAM (DDR SDRAM), and enhanced SDRAM (ESDRAM.

Computer 1502 may also include removable/non-removable,volatile/non-volatile computer storage medium. FIG. 15 illustrates, forexample, disk storage 1514. Disk storage 1514 includes, but is notlimited to, devices like a magnetic disk drive, solid state disk (SSD)floppy disk drive, tape drive, Jaz drive, Zip drive, LS-70 drive, flashmemory card, or memory stick. In addition, disk storage 1514 can includestorage medium separately or in combination with other storage mediumincluding, but not limited to, an optical disk drive such as a compactdisk ROM device (CD-ROM), CD recordable drive (CD-R Drive), CDrewritable drive (CD-RW Drive) or a digital versatile disk ROM drive(DVD-ROM). To facilitate connection of the disk storage devices 1514 tothe system bus 1508, a removable or non-removable interface is typicallyused, such as interface 1516.

It is to be appreciated that FIG. 15 describes software that acts as anintermediary between users and the basic computer resources described inthe suitable operating environment 1500. Such software includes anoperating system 1518. Operating system 1518, which can be stored ondisk storage 1514, acts to control and allocate resources of thecomputer system 1502. Applications 1520 take advantage of the managementof resources by operating system 1518 through program modules 1524, andprogram data 1526, such as the boot/shutdown transaction table and thelike, stored either in system memory 1506 or on disk storage 1514. It isto be appreciated that the claimed subject matter can be implementedwith various operating systems or combinations of operating systems.

A user enters commands or information into the computer 1502 throughinput device(s) 1528. Input devices 1528 include, but are not limitedto, a pointing device such as a mouse, trackball, stylus, touch pad,keyboard, microphone, joystick, game pad, satellite dish, scanner, TVtuner card, digital camera, digital video camera, web camera, and thelike. These and other input devices connect to the processing unit 1504through the system bus 1508 via interface port(s) 1530. Interfaceport(s) 1530 include, for example, a serial port, a parallel port, agame port, and a universal serial bus (USB). Output device(s) 1536 usesome of the same type of ports as input device(s). Thus, for example, aUSB port may be used to provide input to computer 1502, and to outputinformation from computer 1502 to an output device 1536. Output adapter1534 is provided to illustrate that there are some output devices 1536like monitors, speakers, and printers, among other output devices 1536,which require special adapters. The output adapters 1534 include, by wayof illustration and not limitation, video and sound cards that provide ameans of connection between the output device 1536 and the system bus1508. It should be noted that other devices and/or systems of devicesprovide both input and output capabilities such as remote computer(s)1538.

Computer 1502 can operate in a networked environment using logicalconnections to one or more remote computers, such as remote computer(s)1538. The remote computer(s) 1538 can be a personal computer, a server,a router, a network PC, a workstation, a microprocessor based appliance,a peer device, a smart phone, a tablet, or other network node, andtypically includes many of the elements described relative to computer1502. For purposes of brevity, only a memory storage device 1540 isillustrated with remote computer(s) 1538. Remote computer(s) 1538 islogically connected to computer 1502 through a network interface 1542and then connected via communication connection(s) 1544. Networkinterface 1542 encompasses wire and/or wireless communication networkssuch as local-area networks (LAN) and wide-area networks (WAN) andcellular networks. LAN technologies include Fiber Distributed DataInterface (FDDI), Copper Distributed Data Interface (CDDI), Ethernet,Token Ring and the like. WAN technologies include, but are not limitedto, point-to-point links, circuit switching networks like IntegratedServices Digital Networks (ISDN) and variations thereon, packetswitching networks, and Digital Subscriber Lines (DSL).

Communication connection(s) 1544 refers to the hardware/softwareemployed to connect the network interface 1542 to the bus 1508. Whilecommunication connection 1544 is shown for illustrative clarity insidecomputer 1502, it can also be external to computer 1502. Thehardware/software necessary for connection to the network interface 1542includes, for exemplary purposes only, internal and externaltechnologies such as, modems including regular telephone grade modems,cable modems and DSL modems, ISDN adapters, and wired and wirelessEthernet cards, hubs, and routers.

Referring now to FIG. 16, there is illustrated a schematic block diagramof a computing environment 1600 in accordance with this disclosure. Thesystem 1600 includes one or more client(s) 1602 (e.g., laptops, smartphones, PDAs, media players, computers, portable electronic devices,tablets, and the like). The client(s) 1602 can be hardware and/orsoftware (e.g., threads, processes, computing devices). The system 1600also includes one or more server(s) 1604. The server(s) 1604 can also behardware or hardware in combination with software (e.g., threads,processes, computing devices). The servers 1604 can house threads toperform transformations by employing aspects of this disclosure, forexample. One possible communication between a client 1602 and a server1604 can be in the form of a data packet transmitted between two or morecomputer processes wherein the data packet may include video data. Thedata packet can include a metadata, e.g., associated contextualinformation, for example. The system 1600 includes a communicationframework 1606 (e.g., a global communication network such as theInternet, or mobile network(s)) that can be employed to facilitatecommunications between the client(s) 1602 and the server(s) 1604.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1602 include or areoperatively connected to one or more client data store(s) 1608 that canbe employed to store information local to the client(s) 1602 (e.g.,associated contextual information). Similarly, the server(s) 1604 areoperatively include or are operatively connected to one or more serverdata store(s) 1610 that can be employed to store information local tothe servers 1604.

In one embodiment, a client 1602 can transfer an encoded file, inaccordance with the disclosed subject matter, to server 1604. Server1604 can store the file, decode the file, or transmit the file toanother client 1602. It is to be appreciated, that a client 1602 canalso transfer uncompressed file to a server 1604 and server 1604 cancompress the file in accordance with the disclosed subject matter.Likewise, server 1604 can encode video information and transmit theinformation via communication framework 1606 to one or more clients1602.

The illustrated aspects of the disclosure may also be practiced indistributed computing environments where certain tasks are performed byremote processing devices that are linked through a communicationsnetwork. In a distributed computing environment, program modules can belocated in both local and remote memory storage devices.

Moreover, it is to be appreciated that various components described inthis description can include electrical circuit(s) that can includecomponents and circuitry elements of suitable value in order toimplement the embodiments of the subject innovation(s). Furthermore, itcan be appreciated that many of the various components can beimplemented on one or more integrated circuit (IC) chips. For example,in one embodiment, a set of components can be implemented in a single ICchip. In other embodiments, one or more of respective components arefabricated or implemented on separate IC chips.

What has been described above includes examples of the embodiments ofthe present invention. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the claimed subject matter, but it is to be appreciated thatmany further combinations and permutations of the subject innovation arepossible. Accordingly, the claimed subject matter is intended to embraceall such alterations, modifications, and variations that fall within thespirit and scope of the appended claims. Moreover, the above descriptionof illustrated embodiments of the subject disclosure, including what isdescribed in the Abstract, is not intended to be exhaustive or to limitthe disclosed embodiments to the precise forms disclosed. While specificembodiments and examples are described in this disclosure forillustrative purposes, various modifications are possible that areconsidered within the scope of such embodiments and examples, as thoseskilled in the relevant art can recognize.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms used to describe such components are intended to correspond,unless otherwise indicated, to any component which performs thespecified function of the described component (e.g., a functionalequivalent), even though not structurally equivalent to the disclosedstructure, which performs the function in the disclosure illustratedexemplary aspects of the claimed subject matter. In this regard, it willalso be recognized that the innovation includes a system as well as acomputer-readable storage medium having computer-executable instructionsfor performing the acts and/or events of the various methods of theclaimed subject matter.

The aforementioned systems/circuits/modules have been described withrespect to interaction between several components/blocks. It can beappreciated that such systems/circuits and components/blocks can includethose components or specified sub-components, some of the specifiedcomponents or sub-components, and/or additional components, andaccording to various permutations and combinations of the foregoing.Sub-components can also be implemented as components communicativelycoupled to other components rather than included within parentcomponents (hierarchical). Additionally, it should be noted that one ormore components may be combined into a single component providingaggregate functionality or divided into several separate sub-components,and any one or more middle layers, such as a management layer, may beprovided to communicatively couple to such sub-components in order toprovide integrated functionality. Any components described in thisdisclosure may also interact with one or more other components notspecifically described in this disclosure but known by those of skill inthe art.

In addition, while a particular feature of the subject innovation mayhave been disclosed with respect to only one of several implementations,such feature may be combined with one or more other features of theother implementations as may be desired and advantageous for any givenor particular application. Furthermore, to the extent that the terms“includes,” “including,” “has,” “contains,” variants thereof, and othersimilar words are used in either the detailed description or the claims,these terms are intended to be inclusive in a manner similar to the term“comprising” as an open transition word without precluding anyadditional or other elements.

As used in this application, the terms “component,” “module,” “system,”or the like are generally intended to refer to a computer-relatedentity, either hardware (e.g., a circuit), a combination of hardware andsoftware, software, or an entity related to an operational machine withone or more specific functionalities. For example, a component may be,but is not limited to being, a process running on a processor (e.g.,digital signal processor), a processor, an object, an executable, athread of execution, a program, and/or a computer. By way ofillustration, both an application running on a controller and thecontroller can be a component. One or more components may reside withina process and/or thread of execution and a component may be localized onone computer and/or distributed between two or more computers. Further,a “device” can come in the form of specially designed hardware;generalized hardware made specialized by the execution of softwarethereon that enables the hardware to perform specific function; softwarestored on a computer readable storage medium; software transmitted on acomputer readable transmission medium; or a combination thereof.

Moreover, the words “example” or “exemplary” are used in this disclosureto mean serving as an example, instance, or illustration. Any aspect ordesign described in this disclosure as “exemplary” is not necessarily tobe construed as preferred or advantageous over other aspects or designs.Rather, use of the words “example” or “exemplary” is intended to presentconcepts in a concrete fashion. As used in this application, the term“or” is intended to mean an inclusive “or” rather than an exclusive“or”. That is, unless specified otherwise, or clear from context, “Xemploys A or B” is intended to mean any of the natural inclusivepermutations. That is, if X employs A; X employs B; or X employs both Aand B, then “X employs A or B” is satisfied under any of the foregoinginstances. In addition, the articles “a” and “an” as used in thisapplication and the appended claims should generally be construed tomean “one or more” unless specified otherwise or clear from context tobe directed to a singular form.

Computing devices typically include a variety of media, which caninclude computer-readable storage media and/or communications media, inwhich these two terms are used in this description differently from oneanother as follows. Computer-readable storage media can be any availablestorage media that can be accessed by the computer, is typically of anon-transitory nature, and can include both volatile and nonvolatilemedia, removable and non-removable media. By way of example, and notlimitation, computer-readable storage media can be implemented inconnection with any method or technology for storage of information suchas computer-readable instructions, program modules, structured data, orunstructured data. Computer-readable storage media can include, but arenot limited to, RAM, ROM, EEPROM, flash memory or other memorytechnology, CD-ROM, digital versatile disk (DVD) or other optical diskstorage, magnetic cassettes, magnetic tape, magnetic disk storage orother magnetic storage devices, or other tangible and/or non-transitorymedia which can be used to store desired information. Computer-readablestorage media can be accessed by one or more local or remote computingdevices, e.g., via access requests, queries or other data retrievalprotocols, for a variety of operations with respect to the informationstored by the medium.

On the other hand, communications media typically embodycomputer-readable instructions, data structures, program modules orother structured or unstructured data in a data signal that can betransitory such as a modulated data signal, e.g., a carrier wave orother transport mechanism, and includes any information delivery ortransport media. The term “modulated data signal” or signals refers to asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in one or more signals. By way ofexample, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

In view of the exemplary systems described above, methodologies that maybe implemented in accordance with the described subject matter will bebetter appreciated with reference to the flowcharts of the variousfigures. For simplicity of explanation, the methodologies are depictedand described as a series of acts. However, acts in accordance with thisdisclosure can occur in various orders and/or concurrently, and withother acts not presented and described in this disclosure. Furthermore,not all illustrated acts may be required to implement the methodologiesin accordance with certain aspects of this disclosure. In addition,those skilled in the art will understand and appreciate that themethodologies could alternatively be represented as a series ofinterrelated states via a state diagram or events. Additionally, itshould be appreciated that the methodologies disclosed in thisdisclosure are capable of being stored on an article of manufacture tofacilitate transporting and transferring such methodologies to computingdevices. The term article of manufacture, as used in this disclosure, isintended to encompass a computer program accessible from acomputer-readable device or storage media.

What is claimed is:
 1. A system, comprising: a memory that storescomputer executable components; and a processor that, when executing thecomputer executable components stored in the memory, is configured to:receive a request to playback a media content item; identify a pluralityof associated links corresponding to the media content item; determine aplurality of sharing links based on device information associated with adevice that provided the request to playback the media content item;remove at least one associated link from the plurality of associatedlinks that is similar to one of the plurality of sharing links togenerate a set of combined links for association with the media contentitem; generate a graphical element that corresponds to at least onecombined link from the set of combined links; and cause the graphicalelement to be presented while the media content item is being playedback in response to the request.
 2. The system of claim 1, wherein theplurality of sharing links are determined based on user viewing criteriaassociated with a user account of the device.
 3. The system of claim 1,wherein the processor is further configured to select a subset of linksfrom the set of combined links prior to generating the graphicalelement.
 4. The system of claim 1, wherein the media content item ishosted by a media provider and wherein the processor is furtherconfigured to select a subset of links from the set of combined linksbased on a social network a user associated with the request haspreviously shared links to media content items provided by the mediaprovider.
 5. The system of claim 1, wherein the processor is furtherconfigured to select a subset of links from the set of combined linksbased on a location of the device associated with the request.
 6. Thesystem of claim 1, wherein the processor is further configured to selecta subset of links from the set of combined links based on a size of adisplay screen of the device from which the request is made.
 7. Thesystem of claim 1, wherein the processor is further configured to selecta subset of links from the set of combined links based on a size andshape of the respective graphical elements.
 8. The system of claim 1,wherein the processor is further configured to select a subset of linksfrom the set of combined links based on an operating system of thedevice from which the request is made.
 9. The system of claim 1, whereinthe media content item is hosted by a media provider and wherein theplurality of associated links are presented with the media content itemin response to receiving the media content item at the media providerfrom an entity remote from the media provider.
 10. A method, comprising:receiving, using a hardware processor, a request to playback a mediacontent item; identifying, using the hardware processor, a plurality ofassociated links corresponding to the media content item; determining,using the hardware processor, a plurality of sharing links based ondevice information associated with a device that provided the request toplayback the media content item; removing, using the hardware processor,at least one associated link from the plurality of associated links thatis similar to one of the plurality of sharing links to generate a set ofcombined links for association with the media content item; generating,using the hardware processor, a graphical element that corresponds to atleast one combined link from the set of combined links; and causing,using the hardware processor, the graphical element to be presentedwhile the media content item is being played back in response to therequest.
 11. The method of claim 10, wherein the plurality of sharinglinks are determined based on user viewing criteria associated with auser account of the device.
 12. The method of claim 10, furthercomprising selecting a subset of links from the set of combined linksprior to generating the graphical element.
 13. The method of claim 10,wherein the media content item is hosted by a media provider and whereinthe method further comprises selecting a subset of links from the set ofcombined links based on a social network a user associated with therequest has previously shared links to media content items provided bythe media provider.
 14. The method of claim 10, further comprisingselecting a subset of links from the set of combined links based on alocation of the device associated with the request.
 15. The method ofclaim 10, further comprising selecting a subset of links from the set ofcombined links based on a size of a display screen of the device fromwhich the request is made.
 16. The method of claim 10, furthercomprising selecting a subset of links from the set of combined linksbased on a size and shape of the respective graphical elements.
 17. Themethod of claim 10, further comprising selecting a subset of links fromthe set of combined links based on an operating system of the devicefrom which the request is made.
 18. The method of claim 10, wherein themedia content item is hosted by a media provider and wherein theplurality of associated links are presented with the media content itemin response to receiving the media content item at the media providerfrom an entity remote from the media provider.
 19. A non-transitorycomputer-readable medium containing computer executable instructionsthat, when executed by a processor, cause the processor to perform amethod, the method comprising: receiving a request to playback a mediacontent item; identifying a plurality of associated links correspondingto the media content item; determining a plurality of sharing linksbased on device information associated with a device that provided therequest to playback the media content item; removing at least oneassociated link from the plurality of associated links that is similarto one of the plurality of sharing links to generate a set of combinedlinks for association with the media content item; generating agraphical element that corresponds to at least one combined link fromthe set of combined links; and causing the graphical element to bepresented while the media content item is being played back in responseto the request.